package com.sigerap.proveedor.service;

import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.EntityTransaction;

import com.sigerap.proveedor.model.Proveedor;
import com.sigerap.proveedor.model.dao.ProveedorDAO;
import com.sigerap.proveedor.model.dao.jpa.JPAProveedorDAO;
import com.sigerap.common.util.*;

/**
 * 
 * @author Spirit-20121
 *
 */

public class ProveedorService {
	private EntityManager em;
	private ProveedorDAO proveedorDAO;

	public ProveedorService() {
		em = Utilitario.getInstance().getEntityManager();
		proveedorDAO = new JPAProveedorDAO(em);
	}

	public List<Proveedor> listarProveedores() {
		// TODO Auto-generated method stub
		return proveedorDAO.findAll();
	}

	public Proveedor buscarProveedorByRazon(Proveedor p) {
		// TODO Auto-generated method stub
		return proveedorDAO.findByRazon(p);
	} 

	public Proveedor registrarProveedor(Proveedor p){
		Proveedor newProveedor=null;
		EntityTransaction tx= em.getTransaction();
		try{
			tx.begin();
			newProveedor =proveedorDAO.insert(p);
			tx.commit();
		}catch(Exception ex){
			tx.rollback();
			ex.printStackTrace();
			throw new RuntimeException("No se pudo eliminar");
		}
		return newProveedor;
	}

}
